A nonvolatile semiconductor memory such as an NAND flash memory includes a plurality of blocks each including a plurality of pages. Writing and reading of data is performed collectively in units of page but erasing of data is typically performed collectively in units of block.